/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package bpmlab.kivulifx.entity;

import java.util.List;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Dedo
 */
@XmlRootElement
public class Project {

    private SimpleStringProperty name = new SimpleStringProperty();
    private SimpleStringProperty description = new SimpleStringProperty();
    private SimpleStringProperty file = new SimpleStringProperty();
    private ObservableList<ShapeModel> shapes = FXCollections.observableArrayList();

    public Project() {
    }

    public Project(String name, String description, String file) {
        this.name.set(name);
        this.description.set(description);
        this.file.set(file);
    }

    public String getName() {
        return name.get();
    }

    public void setName(String name) {
        this.name.set(name);
    }

    public SimpleStringProperty nameProperty() {
        return name;
    }

    public String getDescription() {
        return description.get();
    }

    public void setDescription(String description) {
        this.description.set(description);
    }

    public SimpleStringProperty descriptionProperty() {
        return description;
    }

    public String getFile() {
        return file.get();
    }

    public void setFile(String file) {
        this.file.set(file);
    }

    public SimpleStringProperty fileProperty() {
        return file;
    }

    public List<ShapeModel> getShapes() {
        return shapes;
    }

    public void setShapes(List<ShapeModel> shapes) {
        this.shapes.setAll(shapes);
    }

    public ObservableList<ShapeModel> shapesObservable() {
        return shapes;
    }

}
